package com.wnxy.sddfp.api.bank;

import com.wnxy.sddfp.api.bank.fallback.TradeLogApiFallback;
import com.wnxy.sddfp.common.model.dto.bank.BankCardAddDTO;
import com.wnxy.sddfp.common.model.dto.bank.SignatureDto;
import com.wnxy.sddfp.common.model.vo.trade.BorrowSyncRecordVo;
import com.wnxy.sddfp.common.result.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * feign客户端调用接口，调用哪个服务提供者的方法，就在现在注册
 * @FeignClient
 *   value  指定调用哪个服务实例, 对应的是nacos注册中心上的服务名称
 *   fallback 执行降级类
 */
@FeignClient(value = "sddfp-bank-access-service",fallback = TradeLogApiFallback.class)
public interface TradeLogApi {

    /**
     * 对应服务提供者的接口名称，也就是服务提供者的controller方法名称、路由、参数
     */
    @PostMapping("/trade-log/bank/access/card")
    SignatureDto proxyBindCardLog(@RequestBody BankCardAddDTO bankCardAddDTO);

    /**
     * 借款审核,同步借款数据
     */
    @PostMapping("/bank/access/sync/borrow")
    Result sysncBorrowRecord(@RequestBody BorrowSyncRecordVo borrowSyncRecordVo);
}
